go/types.genericType.Underlying (method)

34 uses

	go/types (current package)
		alias.go#L75: func (a *Alias) Underlying() Type { return unalias(a).Underlying() }
		api_predicates.go#L22: 	if !isValid(T.Underlying()) {
		api_predicates.go#L60: 	if !isValid(V.Underlying()) {
		named.go#L712: 	return typ.Underlying()
		type.go#L14: 	Underlying() Type
		typestring.go#L217: 			if t == universeAnyAlias.Type().Underlying() {
		under.go#L18: 	return t.Underlying()
		universe.go#L114: 		_ = NewAlias(universeAnyAlias, universeAnyNoAlias.Type().Underlying()) // Link TypeName and Alias

	golang.org/x/exp/apidiff
		apidiff.go#L210: 		oIface, ok := otn1.Type().Underlying().(*types.Interface)
		apidiff.go#L214: 		nIface, ok := nt1.Underlying().(*types.Interface)
		compatibility.go#L202: 			t := f.Type().Underlying()
		compatibility.go#L204: 				t = p.Elem().Underlying()
		compatibility.go#L263: 	d.checkCompatible(otn, old.Underlying(), new.Underlying())
		compatibility.go#L266: 	if reflect.TypeOf(old.Underlying()) != reflect.TypeOf(new.Underlying()) {

	golang.org/x/tools/internal/gcimporter
		iexport.go#L1306: 	switch b := typ.Underlying().(*types.Basic); b.Info() & types.IsConstType {
		iexport.go#L1332: 		panic(internalErrorf("unexpected type %v (%v)", typ, typ.Underlying()))
		iexport.go#L1393: 	basic, ok := typ.Underlying().(*types.Basic)
		iexport.go#L1395: 		panic(internalErrorf("unexpected type %v (%T)", typ.Underlying(), typ.Underlying()))
		iimport.go#L356: 		if iface, _ := typ.Underlying().(*types.Interface); iface != nil {
		iimport.go#L612: 		underlying := r.p.typAt(r.uint64(), named).Underlying()
		iimport.go#L695: 	switch b := typ.Underlying().(*types.Basic); b.Info() & types.IsConstType {
		ureader_yes.go#L601: 			if underlying := rhs.Underlying(); underlying != nil {
		ureader_yes.go#L613: 					setUnderlying(rhs.Underlying())

	golang.org/x/tools/internal/typeparams
		coretype.go#L16: 	U := T.Underlying()
		coretype.go#L28: 	U = terms[0].Type().Underlying()
		coretype.go#L31: 		if !types.Identical(U, terms[identical].Type().Underlying()) {
		coretype.go#L49: 		curr, ok := terms[chans].Type().Underlying().(*types.Chan)
		normalize.go#L68: 	iface, _ := constraint.Underlying().(*types.Interface)
		normalize.go#L70: 		return nil, fmt.Errorf("constraint is %T, not *types.Interface", constraint.Underlying())
		normalize.go#L158: 	switch u := t.Underlying().(type) {
		normalize.go#L165: 			if _, ok := embedded.Underlying().(*types.TypeParam); ok {
		normalize.go#L180: 			switch t.Type().Underlying().(type) {
		normalize.go#L217: 	return t.Underlying()